import { z } from "zod"

export const inputParamsSchema = {
  "customer": z.string().max(5000),
  "allow_redisplay": z.enum(["always","limited","unspecified"]).describe("This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.").optional(),
  "ending_before": z.string().max(5000).describe("A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.").optional(),
  "expand": z.array(z.string().max(5000)).describe("Specifies which fields in the response should be expanded.").optional(),
  "limit": z.number().int().describe("A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.").optional(),
  "starting_after": z.string().max(5000).describe("A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.").optional(),
  "type": z.enum(["acss_debit","affirm","afterpay_clearpay","alipay","alma","amazon_pay","au_becs_debit","bacs_debit","bancontact","billie","blik","boleto","card","cashapp","customer_balance","eps","fpx","giropay","grabpay","ideal","kakao_pay","klarna","konbini","kr_card","link","mobilepay","multibanco","naver_pay","nz_bank_account","oxxo","p24","pay_by_bank","payco","paynow","paypal","pix","promptpay","revolut_pay","samsung_pay","satispay","sepa_debit","sofort","swish","twint","us_bank_account","wechat_pay","zip"]).describe("An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request.").optional()
}